Digital video cameras are useful in both consumer and professional contexts. Generally, digital video cameras capture sequences of digital images, which may then be transferred to a computer system for display or processing or to a storage device for storage. Alternatively, digital still cameras may be employed to capture distinct, non-video digital images.
In some applications, stereo cameras may be employed to generate synthetic virtual images from a variety of viewpoints. For example, in video conferencing application, a single video camera can capture images of a conference participant. However, the participant's gaze tends to align with a display window presented in a monitor by the video conferencing system, while the video camera is typically mounted to the side of or above or below the display window, resulting in a misalignment between the participant's gaze and the captured video (e.g., capturing images of the side of the participant's head rather than a “straight-on” view). Accordingly, virtual images of straight-on, cyclopean views may be synthesized from stereo images captured by stereo cameras that are offset relative to the display window. It should be understood that other applications of virtual image generation may be employed outside the field of video conferencing.
However, existing methods of synthesizing cyclopean virtual images from stereo images often produce artifacts (e.g., streaks, blocks, and halos) that diminish the quality of the resulting virtual images. For example, an exemplary type of artifact results from mismatched mixes of foreground and background colors in corresponding pixels of stereo images. Because of the pixel disparities introduced by the relative positions and angles of the stereo cameras, it is common that the background colors contributing to the color mixing in one pixel of one stereo image are different from the background colors contributing to the color mixing in a corresponding pixel of another stereo image. A result of this color mixing difference is a tendency to inaccurately synthesize a virtual image pixel where color mixing discrepancies exists, thereby introducing incorrect transparency effects, streaking, and aliasing into the resulting virtual image.